/* vim: sw=4 ts=4
 * эта программа выводит все ссылки из файла links.txt, соответствующие
 * которым файлы не скачаны
 *
 * применение:
 * $ ./ldiff links.txt | wget2 -ci-
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>

int main(int argc, const char* argv[])
{
    if (argc < 1)
        return 1;

    struct stat file_stat;
    if (stat(argv[1], &file_stat) == -1)
        return 2;

    FILE* file = fopen(argv[1], "r");
    char* data = calloc(sizeof(char), file_stat.st_size);
    if (!data) { fclose(file); return 3; }

    fread(data, sizeof(char), file_stat.st_size, file);
    fclose(file);

    const char* line = strtok(data, "\n");
    do {
        struct stat dummy;
        if (stat(strrchr(line, '/') + 1, &dummy))
            puts(line);
    } while ((line = strtok(NULL, "\n")) != NULL);

    free(data);
}
